
Raphael.fn.noBusinessSaveSet = function(name, id, pSet)
{
   if(!this.noBuisnessSavedSets)
   {
      this.noBuisnessSavedSets = [];
      this.noBuisnessSavedSets[name] = [];
   }
   else if(!this.noBuisnessSavedSets[name])
   {
      this.noBuisnessSavedSets[name] = [];
   }

   this.noBuisnessSavedSets[name][id] = pSet;
}

Raphael.fn.noBusinessGetSet = function(name, id)
{
   if(!this.noBuisnessSavedSets)
      return null;

   if(!this.noBuisnessSavedSets[name])
      return null;

   if(!this.noBuisnessSavedSets[name][id])
      return null;

   return this.noBuisnessSavedSets[name][id];
}

Raphael.st.noBusinessRemoveMouseActions = function()
{
   this.forEach(function (pElement) {
      pElement.noBusinessRemoveMouseActions();
   });
}
Raphael.el.noBusinessRemoveMouseActions = function()
{
   // Remove mouse actions if they exist
   var pAction = this.data('fMouseOverCallback');
   if(pAction)
      this.unmouseover(pAction);
   pAction = this.data('fMouseOutCallback');
   if(pAction)
      this.unmouseout(pAction);
}

Raphael.st.noBusinessSetMouseActions = function(fMouseOverCallback, fMouseOutCallback)
{
   this.forEach(function (pElement) {
      pElement.noBusinessSetMouseActions(fMouseOverCallback, fMouseOutCallback);
   });
}

Raphael.el.noBusinessSetMouseActions = function(fMouseOverCallback, fMouseOutCallback)
{
   this.noBusinessRemoveMouseActions();

   // Create new ones
   if(fMouseOverCallback)
   {
      this.mouseover(fMouseOverCallback);
      this.data('fMouseOverCallback', fMouseOverCallback);
   }

   if(fMouseOutCallback)
   {
      this.mouseout(fMouseOutCallback);
      this.data('fMouseOutCallback', fMouseOutCallback);
   }
}

